#ifndef _CDISPARO_H
#define _CDISPARO_H

#define VELOCX_DISP 0.025
#define ESCALA_DISP 0.0085
#define ROT_Y_DISP  0.45

#include "entidad.h"
#include "particulas.h"
#include "recursos.h"

/*---------------------------------

---------------------------------*/
typedef enum 
{
	DISPARO_SHURIKEN,
	DISPARO_KUNAI,
	DISPARO_SHURIKEN_FUEGO,
	DISPARO_KUNAI_FUEGO,
}ETipoDisparo;

/*------------------------------------------------------------------------------
	Bullet implementation
------------------------------------------------------------------------------*/
class CDisparo:public CEntidad
{

	CEntidad 	*m_pPadre;
	CParticulas *m_pEfecto;
	CRecursos	*m_pRecursos;
	

	int 	m_iDanio;	
	float 	m_fVelocX;
	float 	m_fVelocY;
	float   m_aVectorRot[3];
	
public:

	CDisparo();
	~CDisparo();  	     
	CParticulas *Iniciar(CRecursos *pRecursos,CEntidad *padre,CEscenario *pEscenario,ETipoDisparo Tipo,float X=0,float Y=0,float Z=0);
	void Liberar();
	void Dibujar();
	
	/*---------------------------------
	 Funciones de modificación
	---------------------------------*/
	inline void setVelocX(float fVelocX)	{m_fVelocX=fVelocX;}
	inline void setVelocY(float fVelocY)	{m_fVelocY=fVelocY;}
	inline void setDanio(int iDanio)		{m_iDanio=iDanio;}		
	inline void setPadre(CEntidad *pPadre) {m_pPadre=pPadre;}
	inline void setEfecto(CParticulas *pEfecto) {m_pEfecto=pEfecto;}	
	
	/*---------------------------------
	 Funciones de acceso a atributos
	---------------------------------*/
	inline float getVelocX()			{return m_fVelocX;}
	inline float getVelocY()			{return m_fVelocY;}
	
};

#endif
